package com.jhy.new2025.doubelpointer;

import com.jhy.suixianglu.daima20221212.ListNode;

/**
 * 题意：反转一个单链表。
 * 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
 */
public class ReverseList {
    public ListNode reverseList(ListNode head) {
        // 定义一个先驱节点
        ListNode pre = null;
        ListNode next = null;
        ListNode cur = head;
        while (cur != null) {
            // 先保存下一个数字
            next = cur.next;
            // 真正赋值的就是这个数字
            cur.next = pre;
            // 为下一次做准备
            pre = cur;
            cur = next;
        }
        return pre;
    }
}
